$(function() {
	init();
});
//页面初始化调用方法
function init() {
	// 1.初始化Table
	var itemTable = new TableInit();
	itemTable.Init();
}

var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$("#trainTypeTables").bootstrapTable({
			url : '../../../trainType/getTrainTypes', // 请求后台的URL（*）
			method : "POST",
			contentType : "application/x-www-form-urlencoded",
			toolbar : '#toolbar',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortable : true, // 是否启用排序
			checkboxHeader : false,// 是否显示表头的全选
			queryParamsType : "undefined", // 默认limit
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
			sortName : "CREATE_TIME",
			sortOrder : "DESC",
			search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			height : 500, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "ID", // 每一行的唯一标识，一般为主键列
			showToggle : true, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false,
			singleSelect:true,
			onLoadSuccess:function(){
	            $('.bootstrap-table tr td').each(function () {
	                $(this).attr("title", $(this).text());
	                $(this).css("cursor", 'pointer');
	            });
	        },
			responseHandler : function(res) {
				return getTableData(res);
			}, // 是否显示父子表
			columns : [ {
				checkbox : true
			}, {
				field : 'name',
				title : '车型名称',
				width: 100
			},{
				field : 'code',
				title : '车型编号',
				width: 100
			}, {
				field : 'id',
				visible : false
			}, {
				field : 'outparams',
				title : '外部参数',
				width: 350,
				cellStyle:{ 
					css:{ 
					"overflow": "hidden", 
					"text-overflow": "ellipsis", 
					"white-space": "nowrap" 
					} 
					}
			}, {
				field : 'createUser',
				title : '创建人',
				width: 100
			}, {
				field : 'createTime',
				title : '创建时间',
				width: 100
			}, {
				field : 'editeUser',
				title : '最后修改人',
				width: 100
			}, {
				field : 'editeTime',
				title : '最后修改时间',
				width: 100
			}]
		});
	};
	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的pageSize,
			pageSize : params.pageSize, // 页面大小
			pageNumber : params.pageNumber, // 页码
			sortName : params.sortName,
			sortOrder : params.sortOrder,
			name : $('#trainTypeName').val(),
		};
		return temp;
	};
	return oTableInit;
};

// 弹出新增车型页面
function add() {
	BootstrapDialog.show({
		title : '新增车型',
		draggable: true,
		closable: false,
		cssClass: "cxgl-dialog",
		message : $("<form class='form-inline' style='height:340px'></form>")
				.load('trainTypeAdd.html'),
		onshown : function() {
					$("#id").val(id);
					$("#speed").val(0);
					$("#cspeed").val(0);
					$("#zfg").val(0);
					$("#lcg").val(0);
					$("#zdg").val(0);
					$("#jg1").val(0);
					$("#jg2").val(0);
				},
		buttons : [ {
			icon : 'glyphicon glyphicon-check',
			label : '确定',
			cssClass : 'btn-primary',
			autospin : true,
			action : function(dialogRef) {
				var name = $("#name").val().trim();
				var code = $("#code").val().trim();
				var ok = true;
				if (name == "" ) {
					ok = false;
					info("名称不能为空!");
				}
				if ( code == "") {
					ok = false;
					info("编码不能为空!");
				}
				var params = getParams();
				// 发送ajax请求
				if (ok) {
					$.ajax({
						url : "../../../trainType/addTrainType",
						type : "post",
						data : {
							name : name,
							code : code,
							outparams : JSON.stringify(params)
						},
						dataType : "json",
						success : function(data) {
							if (data.flag == 0) {
								success("新增成功");
								queryBytableId("trainTypeTables");
							} else {
								warning(data.errorInfo);
							}
						},
						error : function() {
							danger("车型新增失败!");
						}
					});
				}
			}
		}, {
			label : '取消',
			action : function(dialogRef) {
				dialogRef.close();
			}
		} ]
	});
}

function getParams(){
	return {speed:$("#speed").val().trim(),
		zfg:$("#zfg").val().trim(),
		lcg:$("#lcg").val().trim(),
		zdg:$("#zdg").val().trim(),
		jg1:$("#jg1").val().trim(),
		jg2:$("#jg2").val().trim(),
		cspeed:$("#cspeed").val().trim(),
		signal:$("#signal").val().trim(),
		lw:$("#lw").val().trim(),
		xq:$("#xq").val().trim(),
		xh:$("#xh").val().trim(),
		qy:$("#qy").val().trim(),
		zd:$("#zd").val().trim(),
		atpzd:$("#atpzd").val().trim(),
		atpgl:$("#atpgl").val().trim(),
		by1:$("#by1").val().trim(),
		atpkc:$("#atpkc").val().trim(),
		by3:$("#by3").val().trim(),
		by4:$("#by4").val().trim(),
		cyhc1:$("#cyhc1").val().trim(),
		cyhc4:$("#cyhc4").val().trim(),
		cyhc7:$("#cyhc7").val().trim(),
		djhd:$("#djhd").val().trim(),
		sjhd:$("#sjhd").val().trim(),
}
}
// 弹出编辑车型页面
function edit() {
	var selectItems = $("#trainTypeTables").bootstrapTable('getSelections');
	if (selectItems.length != 1) {
		info("请选择要编辑的车型信息且只能选择一个!");
	} else{
		var id = selectItems[0].id;
		var name = selectItems[0].name;
		var code = selectItems[0].code;
		var outparams = selectItems[0].outparams;
			BootstrapDialog.show({
				title : '修改车型信息',
				draggable: true,
				closable: false,
				cssClass: "cxgl-dialog",
				message : $(
				"<form class='form-inline' style='height:340px'></form>")
				.load('trainTypeAdd.html'),
				onshown : function() {
					$("#id").val(id);
					$("#name").val(name);
					$("#code").val(code);
					initParams(outparams);
				},
				buttons : [ {
					icon : 'glyphicon glyphicon-check',
					label : '确定',
					cssClass : 'btn-primary',
					autospin : true,
					action : function(dialogRef) {
						var id = $("#id").val().trim();
						var name = $("#name").val().trim();
						var code = $("#code").val().trim();
						var params = getParams();
						var ok = true;
						if (name == "" ) {
							ok = false;
							info("名称不能为空!");
						}
						if ( code == "") {
							ok = false;
							info("编码不能为空!");
						}
						// 发送ajax请求
						if (ok) {
							$.ajax({
								url : "../../../trainType/updateTrainType",
								type : "post",
								data : {
									id : id,
									name : name,
									code : code,
									outparams : JSON.stringify(params)
								},
								dataType : "json",
								success : function(data) {
									if (data.flag == 0) {
										success("修改成功");
										queryBytableId("trainTypeTables");
									} else {
										warning(data.errorInfo);
									}
								},
								error : function() {
									danger("车型修改失败!");
								}
							});
						}
					}
				}, {
					label : '取消',
					action : function(dialogRef) {
						dialogRef.close();
					}
				} ]
			});
		}		
	}
function initParams(outparams){
	var obj = JSON.parse(outparams);
	$("#speed").val(obj.speed);
	$("#zfg").val(obj.zfg);
	$("#lcg").val(obj.lcg);
	$("#zdg").val(obj.zdg);
	$("#jg1").val(obj.jg1);
	$("#jg2").val(obj.jg2);
	$("#cspeed").val(obj.cspeed);
	$("#signal").val(obj.signal);
	$("#lw").val(obj.lw);
	$("#xq").val(obj.xq);
	$("#xh").val(obj.xh);
	$("#qy").val(obj.qy);
	$("#zd").val(obj.zd);
	$("#atpzd").val(obj.atpzd);
	$("#atpgl").val(obj.atpgl);
	$("#by1").val(obj.by1);
	$("#atpkc").val(obj.atpkc);
	$("#by3").val(obj.by3);
	$("#by4").val(obj.by4);
	$("#cyhc1").val(obj.cyhc4);
	$("#cyhc4").val(obj.cyhc4);
	$("#cyhc7").val(obj.cyhc7);
	$("#djhd").val(obj.djhd);
	$("#sjhd").val(obj.sjhd);
}

// 删除车型
function deleteItem() {
	var selectItems = $("#trainTypeTables").bootstrapTable('getSelections');
	if (selectItems.length == 0) {
		info("请选择要删除的车型!")
	} else {
		BootstrapDialog.show({
			title : '提示',
			message :"确定删除此车型信息吗？",
			buttons : [{
				icon : 'glyphicon glyphicon-check',
				label : '确定',
				cssClass : 'btn-primary',
				autospin : true,
				action:function(dialogRef){
					dialogRef.close();
					var ids = "";
					for(var i=0;i<selectItems.length;i++){
						ids =ids+selectItems[i].id;
						if(i!=selectItems.length-1){
							ids+=",";
						}
					}
					$.ajax({
						url : "../../../trainType/deleteTrainType",
						type : "post",
						data : {
							"ids" : ids
						},
						dataType : "json",
						success : function(data) {
							if (data.flag==0) {
								success(data.content);
								queryBytableId('trainTypeTables');
							} else {
								danger(data.errorInfo);
							}
						},
						error : function() {
							danger("车型删除失败!");
						}
					});
				}
			},{
				label : '取消',
				action : function(dialogRef) {
					dialogRef.close();
				}
			}]
		});
	}
}

